How would you implement that library differently?